/**
 * @文件名称: department.js
 * @功能描述: 部门接口
 * @版权信息: www.easystudy.com
 * @技术交流: 961179337(QQ群)
 * @编写作者: lixx2048@163.com
 * @联系方式: 941415509(QQ)
 * @开发日期: 2022年11月30日
 * @历史版本: V1.0 
 * @备注信息: 
 */
import {
  request
} from '../service'

import qs from 'qs'

const department = {

  /**
    * 增加部门
    * @param {json} param
    */
  add(param) {
    return request({
      url: '/auth/department/add',
      method: 'post',
      data: param
    })
  },

  /**
    * 设置部门
    * @param {json} param
    */
  set(param) {
    return request({
      url: '/auth/department/set',
      method: 'post',
      data: param
    })
  },

  /**
    * 根据主键删除部门
    * @param {int} id
    */
  deleteById(id) {
    return request({
      url: `/auth/department/delete/${id}`,
      method: 'delete'
    })
  },

  /**
    * 根据主键数组批量删除部门
    * @param {Array} 主键js数组
    */
  deleteBatch(ids) {
    return request({
      url: '/auth/department/deleteBatch',
      method: 'delete',
      params: {ids},
      paramsSerializer: params => {
          return qs.stringify(params, { indices: false })
      }
    })
  },

  /**
    * 更新部门
    * @param {json} param
    */
  update(param) {
    return request({
      url: '/auth/department/update',
      method: 'put',
      data: param
    })
  },

  /**
    * 根据主键查询部门
    * @param {int} id
    */
  findById(id) {
    return request({
      url: `/auth/department/findById/${id}`,
      method: 'get'
    })
  },

  /**
    * 查询部门总数
    * @param {json} param
    */
  count(param) {
    return request({
      url: '/auth/department/count',
      method: 'get',
      params: param
    })
  },

  /**
    * 查询部门列表
    * @param {json} param
    */
  list(param) {
    return request({
      url: '/auth/department/list',
      method: 'get',
      params: param
    })
  },

  /**
    * 查询部门树结构
    */
  tree() {
    return request({
      url: '/auth/department/tree',
      method: 'get'
    })
  }

}

export default department;
